import router from '@/router'
import { getToken } from '@/composables/auth'
import { toast } from '@/composables/util'
import store from './store';

// 全局前置守卫
router.beforeEach(async (to, from, next) => {
    console.log('全局前置守卫');
    const token = getToken()
    console.log(token);

    // 没有登录强制跳转到登录页
    if (!token && to.path != '/login') {
        toast('请先登录', '', 'warning')
        return next({ path: '/login' })
    }
    // 防止重复登录,这里先暂时隐藏，需要处理完token逻辑再来打开
    if (token && to.path == '/login') {
        toast('请不要重复登录', '', 'warning')
        return next({ path: from.path ? from.path : '/' })
    }
    // 如果用户登录，自动获取用户信息，并存储在vuex中
    if (token) {
        console.log('来了老弟');
        await store.dispatch('getInfo')
    }
    // 放行函数
    next()
})